home *** CD-ROM | disk | FTP | other *** search
- ³¼COMPATIBILITY¼³
-
- ³¼PLEASE !!¼³
-
- ²
- In the latest issue of McDisk,
- Mount/Parasite wrote about the lack of
- compatibility of many productions,
- even today. I couldn't agree more, so
- consider this article as: Quality
- Coding, part II...
- ¹
- Now, what kinds of incompatibility do
- we have? The absolutely lamest is of
- course when a program doesn't run with
- fastmem, because the coder 'forgot' to
- declare his copper-lists etc. as
- chip-hunks. Luckily, this is not very
- common nowadays.
-
- Secondly, there's the productions
- requiring a specific type of fastmem,
- usually (or actually ALWAYS)
- 'slow-mem', that is, internal
- A500-fast, located from $c00000
- onwards. Examples of demos requiring
- this are: Guardian Dragon 1 & 2 from
- Kefrens, and Seeing is Believing from
- Anarchy. A lot of you have probably
- seen the text 'this demo needs 1/2 Mb
- fast and 1/2 Mb chip' when trying to
- run Seeing is Believing on an A2000.
- As I have 2 Mb fast and 1 Mb chip, I
- wondered a LOT when I saw this. Well,
- of course I didn't, because I knew
- this was just another example of the
- typical lazyness among coders. Seeing
- is Believing is just one of the few
- demos that CHECK whether the type of
- memory it needs is present, as opposed
- to both Guardian Dragons, which just
- crash when slow-mem isn't present.
- Actually, even (? -ed) Hardwired
- isn't totally A2000 compatible: If
- run with 1 Mb chipmem, the music
- crashes, and if run with real fast,
- the demo 'locks' after some time.
- Hopefully, most coders will soon check
- which type of memory is present in the
- computer their productions are run on.
- There are several ways of doing this,
- and none of these take more than 5
- minutes to code.
-
- Finally, there's the lack of compati-
- bility with Kickstart 2.0 and the new
- chipset. A LOT of bugs in utilities
- are results of the coder 'forgetting'
- to preserve registers a0, a1, d0 and
- d1 between system calls, or forgetting
- to initialize undocumented structure-
- fields to 0. In hardware-coded
- programs it's a bit more tricky to
- mention some general mistakes, but all
- I can say is: Follow the official
- programming guidelines from Commodore,
- as stated in the previous Coder's
- Corner.
-
- Of course, the coders aren't the only
- ones to blame. A demo-competition-
- rule like: 'The demo has to run on an
- A500 1.2/1.3 with 1/2 Mb chip and 1/2
- Mb fast' doesn't exactly force the
- coders to make their demos as
- compatible as possible! Instead, the
- rules should be like: 'The demo has
- to run on an Amiga with 1 Mb or more,
- and multi-disk-demos MUST use extra
- drives'. Demos that don't run on e.g.
- A2000 should simply be disqualified.
- Not even demos that NEED fastmem, but
- run with both fake and real fast,
- should be allowed, that is, 1 Mb
- chipmem should be supported as well.
- I think this would be appreciated by
- many owners of A500+, A2000, Kickstart
- 2.0 etc. Remember: Quality coding
- isn't just about adding 4 or 5 faces
- to your glenz-vector, totally ignoring
- compatibility with certain Amiga
- models or operating system versions.
- There ARE a LOT of other Amigas than
- '1.2/1.3 A500s with 1/2 Mb chip and
- 1/2 Mb fast'.
-
-
- ³Estrup/Static Bytes